<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    // var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
    // 1、数组排序 sort 从大到小
    // arr.sort(function (a, b) {
    //     return b - a
    // })
    // 从小到大
    //   arr.sort(function (a, b) {
    //     return a - b
    // })

    // 2、尾部添加 push
    // arr.push(12)

    // 3、尾部删除 pop
    // arr.pop()

    // 4、头部添加 unshift
    // arr.unshift(0)

    // 5、头部删除 shift
    // arr.shift()

    // 6、更改元素 按照索引值更改
    // arr[0]=9

    // 7、删除 delete
    // delete arr[10]

    // 8、增删改splice 参数一定义了应添加新元素的位置（拼接） 参数二定义应删除多少元素 其余代表新增加的新元素
    // 改
    // arr.splice(2,0,13,14)
    // 删
    // arr.splice(2,1)
    // 增
    // arr.splice(10,0,13)

    // 9、合并 concat()
    // var arr1 = [12, 13, 14]
    // var myarr = arr.concat(arr1)


    // 10、截取数组 slice 参数一定义从哪个下标开始 参数二定义了从哪个下标结束
    // var myarr = arr.slice(4, 9)

    // 10、分隔符 join
    // var myarr= arr.join('*')

    // 11、把数组转换为字符串 toString
    // var myarr=arr.toString()
    // console.log(myarr);

    // 12、数组翻转 reverse 
    // arr.reverse()

    // set 去重法
    // var arr = [1, 2, 2, 4, 4, 4, 8, 8, 9, 1, 11]
    // var myarr = [...new Set(arr)]
    //    var myarr= Array.from(new Set(arr))
    //     console.log(myarr);

    //13. 编写通用方法,把URL参数解析为一个对象，如：var url = “http://witmax.cn/index.php?key0=0&key1=1&key2=2″;    返回数据{key0: "0", key1: "1", key2: "2"}
    // 传统实现
    // var url = 'http://witmax.cn/index.php?key0=0&key1=1&key2=2';
    // let arr1 = url.split('?')
    // console.log(81, arr1);
    // let arr2 = arr1[1].split('&')
    // console.log(83, arr2);
    // let strJson = {}
    // for (let i = 0; i < arr2.length; i++) {
    //     let arr3 = arr2[i].split('=')
    //     console.log(100, arr3);
    //     let key = arr3[0]
    //     let value = arr3[1]
    //     strJson[key] = value
    // }
    // console.log(strJson);

    // 14、
    // const sourse=[
    //     {
    //         id:3,
    //         name:'text2'
    //     },
    //     {
    //         id:'4',
    //         name:'text1'
    //     },{
    //         id:6,
    //         name:'text3'
    //     },{
    //         id:()=>{},
    //         name:'text7'
    //     },{
    //         id:2,
    //         name:'text5'
    //     }
    // ]
    // //过滤
    // let add=sourse.filter(item=>{
    //     return typeof item.id=='number'
    // })
    // console.log(add);
    // // 排序
    // let sort=add.sort((a,b)=>{
    //     return a.id-b.id
    // })
    // console.log(sort);

    // 15、使用reduce()方法统计数组中字符串出现次数
    //es6数组归并方法  reduce(function(prev,cur,index,array){},传递给函数的初始值[可选])
    // let names = ['a', 'b', 'a', 'c', 'a'];
    // let json2 = names.reduce((prev, next) => {
    //     console.log(prev) //{},初始化prev为对象
    //     if (next in prev) {
    //         prev[next]++
    //     }
    //     else {
    //         prev[next] = 1
    //     }
    //     return prev
    // }, {})
    // console.log(json2) //{a: 3, b: 1, c: 1}

    // 字符串方法
    /*  
    var arr = ' hello-world '
  
      // // 分割字符串
      // console.log(arr.split('-'));  //以括号里-分割
  
      // // 截取字符串
      // console.log(arr.slice(3, 5));  //包左不包右
      console.log(arr.slice(-4, -1));  //参数为负值的时候为，顺序从右到左  同为包左不包右
  
      //    转大小写
      console.log(arr.toUpperCase());  //转大小写
  
      //查找字符
      console.log(arr.indexOf('w')); //如果查到 就返回下标  找不到 返回-1
  
      // es6 新增的includes查找字符
      console.log(arr.includes('o')); //找到返回true,找不到false
  
      // 替换字符 
      console.log(arr.replace('hello', 'hi'));  //匹配字符 返回新的
  
      //去除首尾空格
      console.log(arr.trim());
      */
</script>